package com.sumer.brain.common.model;

import lombok.Getter;

/**
 * 基础分页模型类，用于统一各分页请求的数据结构。
 */
@Getter
public class BasePage {

    private static final int DEFAULT_PAGE_NUM = 1;
    private static final int DEFAULT_PAGE_SIZE = 10;
    private static final int MAX_PAGE_NUM = 10000; // 最大页数
    private static final int MAX_PAGE_SIZE = 10000; // 最大每页记录数
    private int pageNum = DEFAULT_PAGE_NUM; // 默认第一页
    private int pageSize = DEFAULT_PAGE_SIZE; // 默认每页10条记录

    public void setPageNum(int pageNum) {
        if (pageNum > 0 && pageNum <= MAX_PAGE_NUM) { // 添加上限检查
            this.pageNum = pageNum;
        } else {
            this.pageNum = DEFAULT_PAGE_NUM; // 设置默认值
        }
    }

    public void setPageSize(int pageSize) {
        if (pageSize > 0 && pageSize <= MAX_PAGE_SIZE) { // 添加上限检查
            this.pageSize = pageSize;
        } else {
            this.pageSize = DEFAULT_PAGE_SIZE; // 设置默认值
        }
    }
}